草庐IT

C++:替代 STL 和 Boost?

全部标签

windows - 生产中用于内部系统身份验证的自签名证书的替代选项是什么

我想使用证书相互验证部署在不同服务器上的系统。如果不是自签名证书,那么在生产环境中让每个系统都有自己的证书并信任另一台服务器应该是什么?签名的证书是付费的,我认为我不需要它们,因为我没有用户交互。我说得对吗? 最佳答案 这里的区别并不是真正的“自签名”与“签名”。正确的区别是“商业”与“内部”。商业证书供应商只向您推销一件事:他们在主要浏览器和操作系统的根存储中拥有证书。Verisign签署的证书与您签署的证书在技术上没有区别。Verisign在thislist中只有一个签名证书而你没有。所以你是对的。对于内部身份验证,没有安全理由

c# - Microsoft Sam,SAPI 替代品

我们有一个应用程序,我们计划使用Microsoft语音API。现在,我们使用MicrosoftSam语音在WindowsXP上对其进行了测试,坦率地说,它听起来很糟糕......几乎不可能听到声音试图说什么。还有其他更好的声音吗?是否有更好的更新或更新版本。是否有其他产品、开源项目等可以作为替代方案?澄清一下-它需要某种API,以便我实际上可以针对它进行编程。 最佳答案 在Windows上,我发现最好的是使用来自AT&TNaturalVoices的语音API和语音:https://nextup.com/attnv.html然而,如果

windows - 在 Windows 7 上使用 MinGW 编译 boost 之前如何构建 Boost.Build?

我正在运行Windows7EnterpriseSP1并尝试设置C++开发环境。我安装了MinGW,似乎可以自行正常工作。接下来,我需要安装boost……看来唯一好的选择是从源代码编译。(我没有看到任何官方Windows二进制文件。我发现了几个非官方的二进制文件,但它们往往比当前版本落后几个版本,而且不清楚它们是否得到维护。)所以我下载了tarball,解压它,从MinGW打开MSYSshell,转到tools/build/v2并运行bootstrap.sh-这失败了,bootstrap.log如下所示:######Using'gcc'toolset.###rm-rfbootstrapm

windows - TeamCity 替代方案

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭6年前。Improvethisquestion我写了很多小项目,我想为我的构建服务器使用TeamCity之类的东西。我只使用TeamCity本身的问题是专业版似乎最多只允许20个项目。而且由于这些项目一般都是卖不出去的,所以企业版的价格有点高。这些项目是用各种语言编写的,包括托管和非托管语言,适用于各种平台(Windows和*nix中的用户和内核领域)。我正在寻找的功能:能够管理我支持的多个平台的项目。与Subv

c++ - 是否可以对非常大的 STL 字符串进行浅拷贝?

下午好,我们正在构建重复数据删除器的原型(prototype)。我们正在使用一个STL字符串数组来存储要删除的记录。该数组如下所示:std::string*StringArray=newstd::string[NumberDedupeRecords]记录非常大,有160,000,000字节。当我们尝试在std::string*StringArray中存储要删除重复数据的记录的std::string版本时,STL会对该字符串进行深度复制,并mallocsa至少160,000,000字节的新缓冲区。我们很快就用完了堆内存并得到了一个std::bad_alloc异常。是否有避免深拷贝和std

c++ mingw STL安装

我最近在我的Windows32机器上安装了MinGW和MSYS,它似乎运行良好。在C++编译器上,我包含了一个vector容器并且没有收到任何错误。但是当我尝试使用它时出现编译时错误。所以,代码#include//includevector.h#include//includestdio.husingnamespacestd;main(){//vectorA;printf("\nHeya..");}运行良好。然而,当我取消注释第8行--vector声明行时,我在编译时收到以下错误(已缩短):undefinedreferenceto'operatordelete(void*)'undef

c++ - STL容器泄漏

我正在使用vector容器来保存包含3个整数和2个std::string的对象的实例,这是在堆栈上创建的并从另一个类中的函数填充但是通过deleaker运行应用程序显示对象中的std::string全部泄漏。这是代码://Populatorfunction:voidPopulatorClass::populate(std::vector&list){//m_MainListcontainsalistofpointerstothemasterobjectsfor(std::vector::iteratorit=m_MainList.begin();it!=m_MainList.end()

c++ - 微软C++编译器太烦人了!是否有针对 Windows 32/64 位编译的替代方法?

我对MicrosoftC++编译器(不是Visual)感到非常沮丧。我对它的使用方式感到非常恼火int_tmain(和_TCHAR*argv[]还有很多其他的东西。我只想像在GCC中那样直接使用C++。有替代方案吗?感谢所有回复。我真的只是在寻找一种不使用Microsoft样式代码的方法。这就是帮助我的-删除#include"stdafx.h"将主要方法重命名为-intmain(intargc,char*argv[]){返回0;}而且有效! 最佳答案 如果您不想,则不必使用_tmain()和TCHAR。只需创建一个空项目,向其中添加

c++ - 在 Windows 中使用 Boost asio 重新连接套接字

我在连接到另一个端点后将套接字连接到端点时遇到问题。情况是这样的:a)boost::asio::ip::tcp::socket连接到远程主机(比如pop.remote1.com).b)传输结束,socket关闭:socket_.shutdown(boost::asio::ip::tcp::socket::shutdown_both,error);socket_.close(error);然后,当尝试使用与a)中相同的过程连接到另一台主机(例如pop.remote2.com)时,该过程无错误返回,但是套接字保持关闭状态。请注意,当使用pop.remote2.com作为第一个连接时,一切正

windows - 安装boost.log(使用代码块12.11 + gcc 4.7.1的Windows 7)

我试图在代码块12.11上构建并运行boost.log库。我没有boost和boost.log的经验,想学习它,所以,首先我需要安装它。安装Boost首先,我遵循howtoinstallboostusingcodeblocks上的步骤结果在两台不同的计算机上(都有Windows7),我在%mypath%\boost\lib中得到了不同的文件列表(一台电脑只有6个文件,另一台52个)更大的列表是:libboost_chrono-mgw47-mt-1_52.a公司libboost_chrono-mgw47-mt-d-1_52.a公司libboost_date_时间-mgw47-mt-1_5